package com.bwsoft.portal.service;

import java.io.File;
import java.util.Date;
import java.util.List;

import com.bwsoft.admin.domain.Account;
import com.bwsoft.admin.domain.QualityControl;
import com.bwsoft.admin.domain.QualityControlJoiner;
import com.bwsoft.api.pojo.ResponsePojo;
import com.bwsoft.portal.domain.valueObject.QualityControlListVO;
import com.bwsoft.portal.domain.valueObject.QualityControlVO;


public interface QualityControlService {
	public static final String NAME = "portalQualityControlServiceImpl";
	
	/**
	 * 分页查询质量控制
	 * @return 质量控制的集合
	 */
	List<QualityControl> findData(Integer page, Integer rows, String s_field, String s_scope, String s_count, 
			String s_nature, String s_qcName, String showType, Integer accountId);
	
	/**
	 * 查询质量控制信息总数
	 * @param showType 
	 * @param integer 
	 * @return
	 */
	Long getTotalCount(String s_field, String s_scope, String s_count, String s_nature, String s_qcName, 
			String showType, Integer accountId) throws Exception;
	
	/**
	 * 获取Vo
	 * 
	 * @param qcs
	 * @param sponsor 
	 * @return
	 */
	List<QualityControlListVO> getVo(List<QualityControl> qcs, Integer sponsor);

	ResponsePojo saveQualityCtrl(Account account, String projectName,
			String field, String scope, String count, String nature,
			String price, String standard, Date beginDate, Date feedBackDate,
			Date endDate, String description, String other, String ptclsj,
			String gbjgxx, String ptxz, File img1, String img1FileName,
			File img2, String img2FileName, File img3, String img3FileName);

	boolean isImage(String imgType);

	QualityControl findById(Integer qualityId);

	QualityControlVO getVo(QualityControl qualityCtrl) throws Exception;

	Long getUserCountTotalCount(Integer qualityId);

	List<QualityControlJoiner> findUserCountData(Integer page, Integer rows, Integer qualityId);

	List<com.bwsoft.portal.domain.valueObject.QualityControlJoinerVO> getJoinerVo(
			List<QualityControlJoiner> qcList);

	ResponsePojo signup(Account account, Integer qualityId);
	
}
